package com.xayy.health.mgt.service;

import cn.kawins.base.result.CheckResult;
import cn.kawins.mybatis.BaseService;
import com.xayy.health.mgt.model.Satellite;
import com.xayy.health.mgt.model.vo.SatelliteTreeVo;
import com.xayy.health.mgt.model.vo.SubtaskPageParam;
import com.xayy.health.mgt.model.vo.tupu.PropertiesVo;

import java.util.List;

/**
 * @author zhangxa
 */
public interface SatelliteService extends BaseService<Satellite> {

    /**
     * 查询节点树
     * @return 结果日志
     */
    List<SatelliteTreeVo> selectTree();

    /**
     * 获取左侧树
     * @return 左侧树信息
     */
    List<SatelliteTreeVo> selectLeftTree();

    /**
     * 判断节点是否有子节点
     *
     * @param id 节点id
     * @return 日志信息
     */
    boolean hasChild(Long id);

    /**
     * 获取参数信息
     * @param satId 卫星id
     * @param nodeId 节点id
     * @return 结果日志
     */
    CheckResult<List<PropertiesVo>> getProperties(Long satId, Long nodeId);

    /**
     * 获取节点树左侧信第三方接口
     * @param pageNum  页码
     * @param pageSize 页数
     * @param xingType 卫星类型
     * @return 结果日志
     */
    CheckResult<?> getLeftTreeByOther(Integer pageNum, Integer pageSize, String xingType);

    /**
     * 子任务详请展示
     * @param subtaskPageParam 子任务信息
     * @return 结果日志
     */
    CheckResult<?> subTaskDetail(SubtaskPageParam subtaskPageParam);
}
